// 数组里的对象，外层再套一个对象，{id:{},id:{}}
// reduce 方式
export const flattenArr = (arr) => {
    return arr.reduce((prev, cur) => {
        prev[cur.id] = cur;
        return prev;
    }, {});
};

// 把调用flattenArr 方法的对象重新转成数组，[{},{}]
export const objToArr = (obj) => {
    return Object.keys(obj).map((key) => obj[key]);
};

// 获取点击元素的指定父元素
// node 当前的节点
// parentClassName 父元素class
export const getParentNode = (node, parentClassName) => {
    let current = node;
    while (current !== null) {
        // 判断节点class有没有包含指定的class
        if (current.classList.contains(parentClassName)) {
            // 找到指定的父节点，返回并终止循环
            return current;
        }
        // 如果没有就去当前节点的父节点重新判断
        current = current.parentNode;
    }
    return false;
};

// 时间戳转时间
export const timestampToString = (timestamp) => {
    const date = new Date(timestamp);
    return date.toLocaleDateString() + " " + date.toLocaleTimeString();
};
